home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / program / xmsbcp11.zip / C / XMSA20.C < prev    next >
C/C++ Source or Header  |  1997-04-13  |  2KB  |  82 lines

  1.  
  2. /* ---------------------------------------------------------------------*/
  3. /*                                    */
  4. /*    XMS Interface for Borland C/C++, Version 1.1            */
  5. /*    Developed by Tanescu A. Horatiu                    */
  6. /*    April 1997                            */
  7. /*                                    */
  8. /* ---------------------------------------------------------------------*/
  9. /*    C sources                            */
  10. /* ---------------------------------------------------------------------*/
  11. /*                                    */
  12. /*    XMSA20.C                            */
  13. /*                                    */
  14. /*    A20 management routines                        */
  15. /*    (globalenableA20, globaldisableA20, localenableA20,        */
  16. /*    localdisableA20, queryA20)                    */
  17. /*                                    */
  18. /* ---------------------------------------------------------------------*/
  19.  
  20. #include "xms.h"
  21.  
  22. #pragma inline
  23.  
  24. /* globalenableA20 - global enable A20
  25.  */
  26.  
  27. int globalenableA20(void)
  28. {
  29.   asm    xor    bl, bl
  30.   asm    mov    ah, 0x03
  31.   asm    call    dword ptr [xmscontrol]
  32.   asm    mov    xmserrno, bl
  33.   return (_AX);
  34. }
  35.  
  36. /* globaldisableA20 - global disable A20
  37.  */
  38.  
  39. int globaldisableA20(void)
  40. {
  41.   asm    xor    bl, bl
  42.   asm    mov    ah, 0x04
  43.   asm    call    dword ptr [xmscontrol]
  44.   asm    mov    xmserrno, bl
  45.   return (_AX);
  46. }
  47.  
  48. /* localenableA20 - local enable A20
  49.  */
  50.  
  51. int localenableA20(void)
  52. {
  53.   asm    xor    bl, bl
  54.   asm    mov    ah, 0x05
  55.   asm    call    dword ptr [xmscontrol]
  56.   asm    mov    xmserrno, bl
  57.   return (_AX);
  58. }
  59.  
  60. /* localdisableA20 - local disable A20
  61.  */
  62.  
  63. int localdisableA20(void)
  64. {
  65.   asm    xor    bl, bl
  66.   asm    mov    ah, 0x06
  67.   asm    call    dword ptr [xmscontrol]
  68.   asm    mov    xmserrno, bl
  69.   return (_AX);
  70. }
  71.  
  72. /* queryA20 - query A20
  73.  */
  74.  
  75. int queryA20(void)
  76. {
  77.   asm    xor    bl, bl
  78.   asm    mov    ah, 0x07
  79.   asm    call    dword ptr [xmscontrol]
  80.   asm    mov    xmserrno, bl
  81.   return (_AX);
  82. }